home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 2000 October: Mac OS SDK / Dev.CD Oct 00 SDK1.toast / Development Kits / Mac OS / Appearance SDK 1.0.4 / Appearance Sample Code / Source / BevelImageAPIWindow.cp < prev    next >
Encoding:
Text File  |  1999-07-16  |  5.6 KB  |  259 lines  |  [TEXT/CWIE]

  1. /*
  2.     File:        BevelImageAPIWindow.cp
  3.  
  4.     Contains:    Bevel Button content type examples.
  5.  
  6.     Version:    Appearance 1.0 SDK
  7.  
  8.     Copyright:    © 1997 by Apple Computer, Inc., all rights reserved.
  9.  
  10.     File Ownership:
  11.  
  12.         DRI:                Edward Voas
  13.  
  14.         Other Contact:        7 of 9, Borg Collective
  15.  
  16.         Technology:            OS Technologies Group
  17.  
  18.     Writers:
  19.  
  20.         (edv)    Ed Voas
  21.  
  22.     Change History (most recent first):
  23.  
  24.          <1>     9/11/97    edv        First checked in.
  25. */
  26.  
  27. //
  28. //    This file implements a dialog demonstrating the different
  29. //    methods of setting bevel button content types, such as pictures,
  30. //    icons, and text.
  31. //
  32.  
  33. #include "Appearance.h"
  34. #include "BevelImageAPIWindow.h"
  35. #include "AppearanceHelpers.h"
  36.  
  37. void    HandleBevelDialog( DialogPtr dialog, short itemHit );
  38.  
  39. void    EnableDisableAll( DialogPtr dialog, Boolean enable );
  40. void    SetControlValues( DialogPtr dialog, short value );
  41. void    SetUpBevelDialog( DialogPtr dialog );
  42.  
  43. #define DIRECT        1
  44.  
  45. enum {
  46.     kBevelButton        = 1,
  47.     kImageWell            = 2,
  48.  
  49.     kBBIconSuite        = 4,
  50.     kBBColorIcon        = 5,
  51.     kBBPicture            = 6,
  52.     kBBTextOnly         = 7,
  53.  
  54.     kIWIconSuite        = 8,
  55.     kIWColorIcon        = 9,
  56.     kIWPicture            = 10,
  57.     
  58.     kIWIconSuiteHandle    = 11,
  59.     kIWColorIconHandle    = 12,
  60.     kIWPictureHandle    = 13,
  61.     
  62.     kBBIconSuiteHandle    = 14,
  63.     kBBColorIconHandle    = 15,
  64.     kBBPictureHandle    = 16
  65. };
  66.  
  67. BevelImageAPIWindow::BevelImageAPIWindow() : BaseDialog( 1002 )
  68. {
  69.     if ( fWindow )
  70.     {
  71.         ShowWindow( fWindow );
  72.         
  73.         GetIconSuite( &fIconSuite, 128, svAllAvailableData );
  74.         fColorIcon = GetCIcon( 128 );
  75.     }
  76. }
  77.  
  78. BevelImageAPIWindow::~BevelImageAPIWindow()
  79. {
  80.     if ( fWindow )
  81.     {
  82.         if ( fIconSuite )
  83.             DisposeIconSuite( fIconSuite, true );
  84.         
  85.         if ( fColorIcon )
  86.             DisposeCIcon( fColorIcon );
  87.     }
  88. }
  89.  
  90. void
  91. BevelImageAPIWindow::HandleItemHit( short itemHit )
  92. {
  93.     ControlHandle                control;
  94.     ControlButtonContentInfo    info;
  95.     OSErr                        err;
  96.     
  97.     switch ( itemHit ) {
  98.         case kBBIconSuite:
  99.             GetDialogItemAsControl( fWindow, kBevelButton, &control );
  100.             
  101.             info.contentType = kControlContentIconSuiteRes;
  102.             info.u.resID = 128;
  103.             err = SetBevelButtonContentInfo( control, &info );
  104.             
  105.             (**control).contrlTitle[ 0 ] = 0;
  106.             
  107.             if ( err == noErr )
  108.                 DrawOneControl( control );
  109.                 
  110.             break;
  111.         
  112.         case kBBColorIcon:
  113.             GetDialogItemAsControl( fWindow, kBevelButton, &control );
  114.             
  115.             info.contentType = kControlContentCIconRes;
  116.             info.u.resID = 128;
  117.             err = SetBevelButtonContentInfo( control, &info );
  118.             
  119.             (**control).contrlTitle[ 0 ] = 0;
  120.  
  121.             if ( err == noErr )
  122.                 DrawOneControl( control );
  123.                 
  124.             break;
  125.         
  126.         case kBBPicture:
  127.             GetDialogItemAsControl( fWindow, kBevelButton, &control );
  128.             
  129.             info.contentType = kControlContentPictRes;
  130.             info.u.resID = 129;
  131.             err = SetBevelButtonContentInfo( control, &info );
  132.             
  133.             (**control).contrlTitle[ 0 ] = 0;
  134.  
  135.             if ( err == noErr )
  136.                 DrawOneControl( control );
  137.                 
  138.             break;
  139.         
  140.         case kBBTextOnly:
  141.             GetDialogItemAsControl( fWindow, kBevelButton, &control );
  142.             
  143.             info.contentType = kControlContentTextOnly;
  144.             info.u.resID = 0;
  145.             err = SetBevelButtonContentInfo( control, &info );
  146.             
  147.             SetControlTitle( control, "\pTesting" );
  148.                             
  149.             break;
  150.             
  151.  
  152.         case kBBIconSuiteHandle:
  153.             GetDialogItemAsControl( fWindow, kBevelButton, &control );
  154.             
  155.             info.contentType = kControlContentIconSuiteHandle;
  156.             info.u.iconSuite = fIconSuite;
  157.             err = SetBevelButtonContentInfo( control, &info );
  158.             
  159.             if ( err == noErr )
  160.                 DrawOneControl( control );
  161.                 
  162.             break;
  163.         
  164.         case kBBColorIconHandle:
  165.             GetDialogItemAsControl( fWindow, kBevelButton, &control );
  166.             
  167.             info.contentType = kControlContentCIconHandle;
  168.             info.u.cIconHandle = fColorIcon;
  169.             err = SetBevelButtonContentInfo( control, &info );
  170.             
  171.             if ( err == noErr )
  172.                 DrawOneControl( control );
  173.                 
  174.             break;
  175.         
  176.         case kBBPictureHandle:
  177.             GetDialogItemAsControl( fWindow, kBevelButton, &control );
  178.             
  179.             info.contentType = kControlContentPictHandle;
  180.             info.u.picture = GetPicture( 129 );
  181.             err = SetBevelButtonContentInfo( control, &info );
  182.             
  183.             if ( err == noErr )
  184.                 DrawOneControl( control );
  185.                 
  186.         case kIWIconSuite:
  187.             GetDialogItemAsControl( fWindow, kImageWell, &control );
  188.             
  189.             info.contentType = kControlContentIconSuiteRes;
  190.             info.u.resID = 128;
  191.             err = SetBevelButtonContentInfo( control, &info );
  192.             
  193.             if ( err == noErr )
  194.                 DrawOneControl( control );
  195.                 
  196.             break;
  197.         
  198.         case kIWColorIcon:
  199.             GetDialogItemAsControl( fWindow, kImageWell, &control );
  200.             
  201.             info.contentType = kControlContentCIconRes;
  202.             info.u.resID = 128;
  203.             err = SetBevelButtonContentInfo( control, &info );
  204.             
  205.             if ( err == noErr )
  206.                 DrawOneControl( control );
  207.                 
  208.             break;
  209.         
  210.         case kIWPicture:
  211.             GetDialogItemAsControl( fWindow, kImageWell, &control );
  212.             
  213.             info.contentType = kControlContentPictRes;
  214.             info.u.resID = 129;
  215.             err = SetBevelButtonContentInfo( control, &info );
  216.             
  217.             if ( err == noErr )
  218.                 DrawOneControl( control );
  219.                 
  220.             break;            
  221.  
  222.         case kIWIconSuiteHandle:
  223.             GetDialogItemAsControl( fWindow, kImageWell, &control );
  224.             
  225.             info.contentType = kControlContentIconSuiteHandle;
  226.             info.u.iconSuite = fIconSuite;
  227.             err = SetBevelButtonContentInfo( control, &info );
  228.             
  229.             if ( err == noErr )
  230.                 DrawOneControl( control );
  231.                 
  232.             break;
  233.         
  234.         case kIWColorIconHandle:
  235.             GetDialogItemAsControl( fWindow, kImageWell, &control );
  236.             
  237.             info.contentType = kControlContentCIconHandle;
  238.             info.u.cIconHandle = fColorIcon;
  239.             err = SetBevelButtonContentInfo( control, &info );
  240.             
  241.             if ( err == noErr )
  242.                 DrawOneControl( control );
  243.                 
  244.             break;
  245.         
  246.         case kIWPictureHandle:
  247.             GetDialogItemAsControl( fWindow, kImageWell, &control );
  248.             
  249.             info.contentType = kControlContentPictHandle;
  250.             info.u.picture = GetPicture( 129 );
  251.             err = SetBevelButtonContentInfo( control, &info );
  252.             
  253.             if ( err == noErr )
  254.                 DrawOneControl( control );
  255.                 
  256.             break;            
  257.     }
  258. }
  259.